rm(list = ls())

library(tidyverse)
library(dataMaid)
library(haven)
library(expss)
library(naniar)
library(ggpubr)
library(stargazer)
library(sjlabelled)
library(jtools)
library(ggstance)
library(arm)
library(broom.mixed)
library(tidytext)
library(coefplot)
library(scales)
library(texreg)
library(viridis)
library(ggpubr)
library(ggthemes)
library(ggsci)
library(extrafont)
library(rstatix)
library(lmtest)
library(sandwich)
library(gt)

setwd("") ## Definição do diretório de trabalho


fontes <- readxl::read_excel("Fontes.xlsx", 1)
jornais <- readxl::read_excel("Fontes.xlsx", 2)
portais <- readxl::read_excel("Fontes.xlsx", 3)


windowsFonts(A = windowsFont("Times New Roman"))

## Dados de consumo de mídia

# Gráfico 1: Principal fonte de informação dos deputados federais (2008-2019)

fig1 <- fontes %>% 
  gather(key = "fonte", value = "proporcao", Jornais:Outras, na.rm = TRUE) %>% 
  ggplot(aes(x = factor(Ano), y = proporcao, group=fonte, color = fonte)) + scale_y_continuous(labels = scales::percent, expand = c(0,0)) +
  geom_line(size = 1.5) + geom_point(size = 4) + scale_color_npg() + theme_gdocs() + annotate("rect", xmin = "2011", xmax = "2014", ymin = 0, ymax = 1,
                                                                                              alpha = .2) +
  labs(x = "", color = "") + ylab("") + theme(axis.text.x = element_text(angle = 45, family = "A", 
                                                                         margin = margin(t = 10), size = 15, color = "black"),
                                              axis.text.y = element_text(family = "A", size = 15, color = "black"),
                                              axis.title.y = element_text(margin = margin(r = 10), size = 15, family = "A", color = "black"),
                                              legend.text = element_text(size = 15, family = "A", color = "black")) 


ggsave('fontes.png', width=15, height=8)

# Gráfico 2: Proporção de deputados federais que dizem preferir cada jornal (2008-2019)

fig2 <- jornais %>% 
  gather(key = "jornal", value = "proporcao", `Folha de S. Paulo`:`O Estado de S. Paulo`, na.rm = TRUE) %>% 
  ggplot(aes(x = factor(Ano), y = proporcao, group=jornal, color = jornal)) + scale_y_continuous(labels = scales::percent, expand = c(0,0)) +
  geom_line(size = 1.5) + geom_point(size = 4) + scale_color_npg() + theme_gdocs() + annotate("rect", xmin = "2011", xmax = "2014", ymin = 0, ymax = 1,
                                                                                              alpha = .2)  +
  labs(x = "", color = "") + ylab("") + theme(axis.text.x = element_text(angle = 45, margin = margin(t = 10, b = 0), size = 15, family = "A", color = "black"),
                                              axis.text.y = element_text(family = "A", size = 15, color = "black"),
                                              axis.title.y = element_text(margin = margin(r = 10), size = 15, family = "A", color = "black"),
                                              legend.text = element_text(size = 15, family = "A", color = "black"))


ggsave('jornais.png', width=15, height=8)


# Gráfico 3: Proporção de deputados federais que dizem preferir cada portal (2008-2019)

fig3 <- portais %>% 
  gather(key = "portal", value = "proporcao", G1:Terra, na.rm = TRUE) %>% 
  ggplot(aes(x = factor(Ano), y = proporcao, group=portal, color = portal)) + 
  geom_line(size = 1.5) + geom_point(size = 4) + scale_color_npg() + theme_gdocs() + scale_y_continuous(labels = scales::percent, expand = c(0,0)) +
  labs(x = "", color = "") + annotate("rect", xmin = "2011", xmax = "2014", ymin = 0, ymax = 1,
                                      alpha = .2)  +
  ylab("") + theme(axis.text.x = element_text(angle = 45, margin = margin(t = 10), size = 15, family = "A", color = "black"),
                   axis.text.y = element_text(size = 15, family = "A", color = "black"),
                   axis.title.y = element_text(margin = margin(r = 10), size = 15, family = "A", color = "black"))

ggsave('portais.png', width=15, height=8)

## Dados dos surveys com deputados federais

BD.imi.2011 <- read.csv("BD.imi.2011.csv")
BD.imi.2012 <- read.csv("BD.imi.2012.csv")
BD.imi.2013 <- read.csv("BD.imi.2013.csv")
BD.imi.2014 <- read.csv("BD.imi.2014.csv")


## Dados para a definição de partidos governistas e oposicionistas no Governo Dilma Rousseff. 

basometro <- read.csv("basometro.csv")

basometro$anoProposicao <- as.numeric(basometro$anoProposicao)

basometro$base_gov <- if_else(basometro$orientacaoGoverno == basometro$voto, 1, 0)

basometro$partido[basometro$partido=="Solidariedade"] <- "SDD"
basometro$partido[basometro$partido=="Cidadania"] <- "PPS"

basometro %>%
  filter(governo == "Dilma 1" & orientacaoGoverno != "Liberado")%>%
  group_by(partido)%>%
  summarise(prop_sim = mean(base_gov==1, na.rm = T))%>%
  arrange(desc(prop_sim)) %>% 
  View()


## Dados para a classificação ideológica dos partidos. Disponíveis em: https://dataverse.harvard.edu/dataverse/bls

load("BLS8_Data.Rdata")

ideologia <- bls %>%
  filter(wave == 2013) %>%
  replace_with_na_all(condition = ~.x == -999) 


ideologia.partidos <- ideologia %>%
  gather(key = "Partido", value = "Ideologia", lrclass:lrpv, na.rm = TRUE)%>%
  group_by(Partido, wave) %>%
  rename(PARTIDO = Partido) %>%
  summarise(media_ideologia = mean(Ideologia, na.rm = T))

## Variáveis de consumo de mídia

BD.imi.2011 <- BD.imi.2011 %>%
  rename(portal_uol = m4_1, portal_terra = m4_2, portal_g1 = m4_3)

BD.imi.2011$portais_internet <- BD.imi.2011$portal_uol + BD.imi.2011$portal_terra + BD.imi.2011$portal_g1
table(BD.imi.2011$portais_internet)

BD.imi.2013$portal_uol <- NA
BD.imi.2013$portal_uol <- if_else(BD.imi.2013$PORTAIS_1 == 1, 1, 0)
BD.imi.2013$portal_uol[BD.imi.2013$PORTAIS_1 !=1 & BD.imi.2013$PORTAIS_2==1] <- 1
BD.imi.2013$portal_uol[BD.imi.2013$PORTAIS_2 !=1 & BD.imi.2013$PORTAIS_3==1] <- 1
table(BD.imi.2013$portal_uol)

BD.imi.2013$portal_terra <- NA
BD.imi.2013$portal_terra <- if_else(BD.imi.2013$PORTAIS_1 == 2, 1, 0)
BD.imi.2013$portal_terra[BD.imi.2013$PORTAIS_1 !=2 & BD.imi.2013$PORTAIS_2==2] <- 1
table(BD.imi.2013$portal_terra)

BD.imi.2013$portal_g1 <- NA
BD.imi.2013$portal_g1 <- if_else(BD.imi.2013$PORTAIS_1 == 3, 1, 0)
BD.imi.2013$portal_g1[BD.imi.2013$PORTAIS_1 !=3 & BD.imi.2013$PORTAIS_2==3] <- 1
BD.imi.2013$portal_g1[BD.imi.2013$PORTAIS_2 !=3 & BD.imi.2013$PORTAIS_3==3] <- 1
table(BD.imi.2013$portal_g1)

BD.imi.2013$portais_internet <- BD.imi.2013$portal_uol + BD.imi.2013$portal_terra + BD.imi.2013$portal_g1
table(BD.imi.2013$portais_internet)

BD.imi.2014$portal_uol <- NA
BD.imi.2014$portal_uol <- if_else(BD.imi.2014$PORTAIS_1 == 1, 1, 0)
BD.imi.2014$portal_uol[BD.imi.2014$PORTAIS_1 !=1 & BD.imi.2014$PORTAIS_2==1] <- 1
BD.imi.2014$portal_uol[BD.imi.2014$PORTAIS_2 !=1 & BD.imi.2014$PORTAIS_3==1] <- 1
table(BD.imi.2014$portal_uol)

BD.imi.2014$portal_terra <- NA
BD.imi.2014$portal_terra <- if_else(BD.imi.2014$PORTAIS_1 == 2, 1, 0)
BD.imi.2014$portal_terra[BD.imi.2014$PORTAIS_1 !=2 & BD.imi.2014$PORTAIS_2==2] <- 1
table(BD.imi.2014$portal_terra)

BD.imi.2014$portal_g1 <- NA
BD.imi.2014$portal_g1 <- if_else(BD.imi.2014$PORTAIS_1 == 3, 1, 0)
BD.imi.2014$portal_g1[BD.imi.2014$PORTAIS_1 !=3 & BD.imi.2014$PORTAIS_2==3] <- 1
BD.imi.2014$portal_g1[BD.imi.2014$PORTAIS_2 !=3 & BD.imi.2014$PORTAIS_3==3] <- 1
table(BD.imi.2014$portal_g1)

BD.imi.2014$portais_internet <- BD.imi.2014$portal_uol + BD.imi.2014$portal_terra + BD.imi.2014$portal_g1
table(BD.imi.2014$portais_internet)

BD.imi.2011$portais_internet <- rescale(BD.imi.2011$portais_internet, to = c(0, 1), from = range(BD.imi.2011$portais_internet, na.rm = TRUE, finite = TRUE))
BD.imi.2012$portais_internet <- rescale(BD.imi.2012$portais_internet, to = c(0, 1), from = range(BD.imi.2012$portais_internet, na.rm = TRUE, finite = TRUE))
BD.imi.2013$portais_internet <- rescale(BD.imi.2013$portais_internet, to = c(0, 1), from = range(BD.imi.2013$portais_internet, na.rm = TRUE, finite = TRUE))
BD.imi.2014$portais_internet <- rescale(BD.imi.2014$portais_internet, to = c(0, 1), from = range(BD.imi.2014$portais_internet, na.rm = TRUE, finite = TRUE))

BD.imi.2011$idade <- rescale(BD.imi.2011$idade, to = c(0, 1), from = range(BD.imi.2011$idade, na.rm = TRUE, finite = TRUE))
BD.imi.2012$idade <- rescale(BD.imi.2012$idade, to = c(0, 1), from = range(BD.imi.2012$idade, na.rm = TRUE, finite = TRUE))
BD.imi.2013$idade <- rescale(BD.imi.2013$idade, to = c(0, 1), from = range(BD.imi.2013$idade, na.rm = TRUE, finite = TRUE))
BD.imi.2014$idade <- rescale(BD.imi.2014$idade, to = c(0, 1), from = range(BD.imi.2014$idade, na.rm = TRUE, finite = TRUE))


## Tabela 1 - Estatísticas Descritivas

BD.imi.2011 <- BD.imi.2011[,c("IMI", "partido_centrodireita", "idade", "mulher", "jornal_ref", "região_se",
                              "jornalistas_centro_direita", "jornalistas_centro_esquerda", "novato", "ANO", "bancada_evangelica",
                              "SP_RJ", "Opo70", "Opo50", "jornalista_ref12", "portais_internet")]


BD.imi.2012 <- BD.imi.2012[,c("IMI", "partido_centrodireita", "idade", "mulher", "jornal_ref", "região_se",
                              "jornalistas_centro_direita", "jornalistas_centro_esquerda", "novato", "ANO", "bancada_evangelica",
                              "SP_RJ", "Opo70", "Opo50", "jornalista_ref12", "portais_internet")]

BD.imi.2013 <- BD.imi.2013[,c("IMI", "partido_centrodireita", "idade", "mulher", "jornal_ref", "região_se",
                              "jornalistas_centro_direita", "jornalistas_centro_esquerda", "novato", "ANO", "bancada_evangelica",
                              "SP_RJ", "Opo70", "Opo50", "jornalista_ref12", "portais_internet")]

BD.imi.2014 <- BD.imi.2014[,c("IMI", "partido_centrodireita", "idade", "mulher", "jornal_ref", "região_se",
                              "jornalistas_centro_direita", "jornalistas_centro_esquerda", "novato", "ANO", "bancada_evangelica",
                              "SP_RJ", "Opo70", "Opo50", "jornalista_ref12", "portais_internet")]


stargazer(BD.imi.2011, omit.summary.stat = c("p25", "p75"), type = "html", out = "summary_stats_2011_imi.htm")
stargazer(BD.imi.2012, omit.summary.stat = c("p25", "p75"), type = "html", out = "summary_stats_2012_imi.htm")
stargazer(BD.imi.2013, omit.summary.stat = c("p25", "p75"), type = "html", out = "summary_stats_2013_imi.htm")
stargazer(BD.imi.2014, omit.summary.stat = c("p25", "p75"), type = "html", out = "summary_stats_2014_imi.htm")

stargazer(BD.imi.2011, omit.summary.stat = c("p25", "p75"), covariate.labels = c("IMI", "Partido de Direita", "Idade",
                                                                                 "Mulher", "Jornais de Referência", "Região Sudeste",
                                                                                 "Novato", "Ano", "Bancada Evangélica", "SP-RJ",
                                                                                 "Oposição - 70%", "Oposição 50%", "Colunistas",
                                                                                 "Portais da Internet"))
stargazer(BD.imi.2012, omit.summary.stat = c("p25", "p75"), covariate.labels = c("IMI", "Partido de Direita", "Idade",
                                                                                 "Mulher", "Jornais de Referência", "Região Sudeste",
                                                                                 "Novato", "Ano", "Bancada Evangélica", "SP-RJ",
                                                                                 "Oposição - 70%", "Oposição 50%", "Colunistas",
                                                                                 "Portais da Internet"))
stargazer(BD.imi.2013, omit.summary.stat = c("p25", "p75"), covariate.labels = c("IMI", "Partido de Direita", "Idade",
                                                                                 "Mulher", "Jornais de Referência", "Região Sudeste",
                                                                                 "Novato", "Ano", "Bancada Evangélica", "SP-RJ",
                                                                                 "Oposição - 70%", "Oposição 50%", "Colunistas",
                                                                                 "Portais da Internet"))
stargazer(BD.imi.2014, omit.summary.stat = c("p25", "p75"), covariate.labels = c("IMI", "Partido de Direita", "Idade",
                                                                                 "Mulher", "Jornais de Referência", "Região Sudeste",
                                                                                 "Novato", "Ano", "Bancada Evangélica", "SP-RJ",
                                                                                 "Oposição - 70%", "Oposição 50%", "Colunistas",
                                                                                 "Portais da Internet"))

#Regressões



#2011

regressao.multivariada.IMI.2011 <- lm(IMI ~ partido_centrodireita + Opo50 + idade + portais_internet 
                                      + jornal_ref + SP_RJ + jornalista_ref12 + novato + bancada_evangelica, data = BD.imi.2011)

summary(regressao.multivariada.IMI.2011)

## 2011 com erros-padrão robustos

regressao.multivariada.IMI.2011.robust <- coeftest(regressao.multivariada.IMI.2011, 
                                                   vcovHC(regressao.multivariada.IMI.2011, type = "HC0"))


regressao.multivariada.IMI.2011.robust

#2012

regressao.multivariada.IMI.2012 <- lm(IMI ~ partido_centrodireita + Opo50 + idade + portais_internet 
                                      + jornal_ref + SP_RJ + jornalista_ref12 + novato + bancada_evangelica, data = BD.imi.2012)

summary(regressao.multivariada.IMI.2012)

## 2012 com erros-padrão robustos

regressao.multivariada.IMI.2012.robust <- coeftest(regressao.multivariada.IMI.2012, 
                                                   vcovHC(regressao.multivariada.IMI.2012, type = "HC0"))


regressao.multivariada.IMI.2012.robust

#2013

regressao.multivariada.IMI.2013 <- lm(IMI ~ partido_centrodireita + Opo50 + idade + portais_internet 
                                      + jornal_ref + SP_RJ + jornalista_ref12 + novato + bancada_evangelica, data = BD.imi.2013)

summary(regressao.multivariada.IMI.2013)

## 2013 com erros-padrão robustos

regressao.multivariada.IMI.2013.robust <- coeftest(regressao.multivariada.IMI.2013, 
                                                   vcovHC(regressao.multivariada.IMI.2013, type = "HC0"))

regressao.multivariada.IMI.2013.robust


#2014

regressao.multivariada.IMI.2014 <- lm(IMI ~ partido_centrodireita + Opo50 + idade + portais_internet 
                                      + jornal_ref + SP_RJ + jornalista_ref12 + novato + bancada_evangelica, data = BD.imi.2014)

summary(regressao.multivariada.IMI.2014)

## 2014 com erros-padrão robustos

regressao.multivariada.IMI.2014.robust <- coeftest(regressao.multivariada.IMI.2014, 
                                                   vcovHC(regressao.multivariada.IMI.2014, type = "HC0"))

regressao.multivariada.IMI.2014.robust


## Figura 1 - Determinantes da Influência da Mídia sobre o Indivíduo

windowsFonts(A = windowsFont("Times New Roman"))

modelos.anos.robust <- plot_summs(regressao.multivariada.IMI.2011.robust, regressao.multivariada.IMI.2012.robust, regressao.multivariada.IMI.2013.robust,
                                  regressao.multivariada.IMI.2014.robust, scale = TRUE, legend.title = "Modelo", ci_level = 0.95, point.shape = FALSE, 
                                  coefs = c("Colunistas" = "jornalista_ref12", "Jornais de \n Referência" = "jornal_ref", "Portais da \n internet" = "portais_internet",
                                            "Partido de \n Direita" = "partido_centrodireita",
                                            "Bancada Evangélica" = "bancada_evangelica", "SP-RJ" = "SP_RJ", 
                                            "Oposição" = "Opo50", "Novato" = "novato", "Idade" = "idade"), model.names = c("2011", "2012", "2013", "2014"), colors = c("#E64B35FF", "#4DBBD5FF", "#00A087FF", "#3C5488FF"))



modelos.anos.robust + labs(x = "Coeficiente estimado") + theme(plot.title = element_text(hjust = 0.5), 
                                                               text = element_text(size=15, color = "black", family = "A"), 
                                                               axis.title.x = element_text(size=15, color = "black", family = "A"),
                                                               axis.text.y = element_text(size=15, color = "black", family = "A"),
                                                               axis.text.x = element_text(size=15, color = "black", family = "A"),
                                                               legend.title = element_text(size=15, color = "black", family = "A"),
                                                               legend.text = element_text(size=15, color = "black", family = "A")) 

## Apêndice - Tabela A 

stargazer(regressao.multivariada.IMI.2011.robust, regressao.multivariada.IMI.2012.robust, 
          regressao.multivariada.IMI.2013.robust, regressao.multivariada.IMI.2014.robust,
          covariate.labels = c("Partido de Direita", "Oposição", "Idade", "Portais da Internet",
                               "Jornais de Referência", "SP-RJ", "Colunistas",
                               "Novato", "Bancada Evangélica", "Constante"))











